package com.yunxi.model.sys;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 员工信息
 * </p>
 *
 * @author 
 * @since 2019-05-20
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("pms_staff")
@ApiModel(value="Staff对象", description="员工信息")
public class Staff implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "STAFF_ID", type = IdType.UUID)
    private String staffId;

    @ApiModelProperty(value = "渠道编号")
    @TableField("PARTNER_CODE")
    private String partnerCode;

    @ApiModelProperty(value = "姓名")
    @TableField("STAFF_NAME")
    private String staffName;

    @ApiModelProperty(value = "组织机构id")
    @TableField("ORG_ID")
    private String orgId;

    @ApiModelProperty(value = "组织机构代码")
    private String orgCode;

    @ApiModelProperty(value = "职位id")
    @TableField("POSITION_ID")
    private String positionId;

    @ApiModelProperty(value = "等级")
    @TableField("GRADE")
    private String grade;

    @ApiModelProperty(value = "级别")
    @TableField("LV")
    private String lv;

    @ApiModelProperty(value = "帐号")
    @TableField("ACCOUNT_NO")
    private String accountNo;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_TIME",fill = FieldFill.INSERT)
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_BY",fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "UPDATE_TIME",fill = FieldFill.UPDATE)
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    @TableField(value = "UPDATE_BY",fill = FieldFill.UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "状态1启用0禁用")
    @TableField("STATUS")
    private Integer status;

    @ApiModelProperty(value = "是否删除")
    @TableField("IS_DEL")
    private Integer isDel;

    @ApiModelProperty(value = "备注")
    @TableField("MEMO")
    private String memo;

    private String employType;

    private String password;

    @ApiModelProperty(value = "手机")
    private String mobilePhone;

    @ApiModelProperty(value = "顾问级别")
    private String saleGrade;

    @ApiModelProperty(value = "性别")
    private Integer gender;

    @ApiModelProperty(value = "头像")
    private String pictureUrl;//头像

    @ApiModelProperty(value = "IAM状态提供1 待入职2 入职试用,3 正式在职,6 退休,7 退休返聘,8 离职,10 结束返聘")
    private Integer staffStatus;

    @ApiModelProperty(value = "销售售后类型区分;1.pms; 2.ups")
    @TableField("TENANT_ID")
    private String tenantId;


    @ApiModelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "入职时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date joinDate;

    @ApiModelProperty(value = "是否党员0否1是")
    private String isPartyMember;

    @ApiModelProperty(value = "是否参加培训0未参加1已参加")
    private String isTraining;

    @ApiModelProperty(value = "邮箱")
    private String email;
}
